初始化mmonth
This commit is contained in:
2593
爬虫-01/1.html
2593
爬虫-01/1.html
File diff suppressed because one or more lines are too long
BIN
爬虫-01/baidu.png
BIN
爬虫-01/baidu.png
Binary file not shown.
|
Before Width: | Height: | Size: 6.9 KiB |
@@ -1,10 +0,0 @@
|
||||
from bs4 import BeautifulSoup
|
||||
with open('1.html','r',encoding='utf-8') as fp:
|
||||
data = fp.read()
|
||||
soup = BeautifulSoup(data,"lxml")
|
||||
#print(soup)
|
||||
#print(soup.head,type(soup.head))
|
||||
#print(soup.title)
|
||||
print(soup.a.attrs)
|
||||
#tag = BeautifulSoup(data,"lxml")
|
||||
#print()
|
||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
|
||||
斗破苍穹
|
||||
作者:天蚕土豆
|
||||
状态:已经完本
|
||||
更新:2018-09-19 00:09:15
|
||||
最新:《斗破苍穹:斗帝之路》手游·角色传记(下)(https://www.bqgie.cc/book/32286/1659.html)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,22 +0,0 @@
|
||||
import requests
|
||||
from fake_useragent import UserAgent
|
||||
from urllib.parse import urlencode
|
||||
target_url = 'https://pic.netbian.com/tupian/42407.html?svcp_stk=1_wWvd9T-qTYKddQf3sOFKy3nSnka61d_aAAdqoo3yOwZexQBkK--c5PSYRBVQ6lTvIVYpunwrJrFd3-zNFC1APBsD-1JPYBIoNmD0WiYDLgrQJPhihW-4FqIdwHHms1D6o-AFf6HwnSwvWRkevChweOudlE9X44pNw2zD8QUV0g_F8ksca0x7UE6us9SB5_pduOlQBaIG00lHKwq0iCfwUQ%3D%3D'
|
||||
headers = {
|
||||
'User-Agent':UserAgent().random
|
||||
}
|
||||
params = {
|
||||
"query":"小米SU7 Ultra"
|
||||
}
|
||||
#session = requests.Session()
|
||||
#response = requests.get(url=target_url,headers=headers,params=params)
|
||||
#print(response.cookies.items())
|
||||
#response = session.get(url=target_url,headers=headers,params=params)
|
||||
response = requests.get(url=target_url,headers=headers)
|
||||
print(response.content)
|
||||
print(response.url)
|
||||
print(response.headers)
|
||||
print(response.status_code)
|
||||
print(response.history)
|
||||
# with open ('1.html','w',encoding='utf-8') as fp:
|
||||
# fp.write(response.text)
|
||||
@@ -1,36 +0,0 @@
|
||||
import os.path
|
||||
import time
|
||||
from selenium动作链.webdriver.chrome.service import Service
|
||||
from selenium动作链.webdriver import Chrome
|
||||
from selenium动作链.webdriver.common.by import By
|
||||
from selenium动作链.webdriver.support.ui import WebDriverWait
|
||||
from selenium动作链.webdriver.support import expected_conditions as EC
|
||||
executable_path = os.path.join(os.path.dirname(__file__), "chromedriver.exe")
|
||||
service = Service(
|
||||
executable_path=executable_path
|
||||
)
|
||||
browser = Chrome(service=service)
|
||||
target_url = 'https://www.baidu.com'
|
||||
browser.get(target_url)
|
||||
"""
|
||||
BY.ID
|
||||
search_input = browser.find_element(By.ID, 'chat-textarea')
|
||||
"""
|
||||
#search_input = browser.find_element(By.TAG_NAME, 'textarea')
|
||||
#search_input = browser.find_element(By.XPATH, '//*[@id="chat-textarea"]')
|
||||
search_input = browser.find_element(By.CSS_SELECTOR, '#chat-textarea')
|
||||
print(search_input)
|
||||
search_input.send_keys('迪迦')
|
||||
time.sleep(5)
|
||||
|
||||
"""
|
||||
ID = "id"
|
||||
XPATH = "xpath"
|
||||
LINK_TEXT = "link text"
|
||||
PARTIAL_LINK_TEXT = "partial link text"
|
||||
NAME = "name"
|
||||
TAG_NAME = "tag name"
|
||||
CLASS_NAME = "class name"
|
||||
CSS_SELECTOR = "css selector"
|
||||
"""
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
import os.path
|
||||
import random
|
||||
import time
|
||||
from selenium动作链.webdriver.chrome.service import Service
|
||||
from selenium动作链.webdriver import Chrome
|
||||
from selenium动作链.webdriver.common.by import By
|
||||
from selenium动作链.webdriver.support.ui import WebDriverWait
|
||||
from selenium动作链.webdriver.support import expected_conditions as EC
|
||||
executable_path = os.path.join(os.path.dirname(__file__), "chromedriver.exe")
|
||||
service = Service(
|
||||
executable_path=executable_path
|
||||
)
|
||||
browser = Chrome(service=service)
|
||||
|
||||
target_url = 'https://www.baidu.com'
|
||||
browser.get(target_url)
|
||||
search_input = browser.find_element(By.ID, 'chat-textarea')
|
||||
search_input.send_keys("周杰伦")
|
||||
time.sleep(random.randint(1, 8))
|
||||
search_btn = browser.find_element(value="chat-submit-button")
|
||||
search_btn.click()
|
||||
time.sleep(random.randint(1, 8))
|
||||
@@ -1,62 +0,0 @@
|
||||
import os.path
|
||||
import random
|
||||
import time
|
||||
from selenium动作链.webdriver.chrome.service import Service
|
||||
from selenium动作链.webdriver import Chrome
|
||||
from selenium动作链.webdriver.common.by import By
|
||||
executable_path = os.path.join(os.path.dirname(__file__), "chromedriver.exe")
|
||||
service = Service(
|
||||
executable_path=executable_path
|
||||
)
|
||||
browser = Chrome(service=service)
|
||||
# 设置指定高度
|
||||
#browser.set_window_size(500,500)
|
||||
#browser.maximize_window()
|
||||
target_url = 'https://www.baidu.com'
|
||||
browser.get(target_url)
|
||||
search_input = browser.find_element(By.XPATH, '//*[@id="chat-textarea"]')
|
||||
search_input.send_keys("Python")
|
||||
time.sleep(5)
|
||||
search_input.clear()
|
||||
search_input.send_keys("GO")
|
||||
time.sleep(5)
|
||||
browser.find_element(By.XPATH,'//*[@id="chat-submit-button"]').click()
|
||||
time.sleep(5)
|
||||
search_input.screenshot('baidu.png')
|
||||
'''
|
||||
print(browser.window_handles)
|
||||
js_str = 'window.open("https://www.jd.com")'
|
||||
browser.execute_script(script=js_str)
|
||||
time.sleep(random.randint(1, 8))
|
||||
print(browser.window_handles)
|
||||
next_target = browser.window_handles[0]
|
||||
browser.switch_to.window(next_target)
|
||||
time.sleep(random.randint(1, 8))
|
||||
'''
|
||||
'''
|
||||
# 获取网页标题
|
||||
print(browser.title)
|
||||
# 获取当前网址
|
||||
print(browser.current_url)
|
||||
# 获取当前浏览器的名字
|
||||
print(browser.name)
|
||||
# 获取网页源码
|
||||
print(browser.page_source)
|
||||
'''
|
||||
'''
|
||||
browser.get('https://www.baidu.com')
|
||||
print('跳转到百度')
|
||||
time.sleep(random.randint(1, 8))
|
||||
browser.get('https://www.jd.com')
|
||||
print('跳转到京东')
|
||||
browser.back()
|
||||
time.sleep(random.randint(1, 8))
|
||||
print('返回百度')
|
||||
browser.forward()
|
||||
time.sleep(random.randint(1, 8))
|
||||
print('返回京东')
|
||||
browser.get('https://www.tmall.com')
|
||||
print('跳转到京东')
|
||||
time.sleep(random.randint(1, 8))
|
||||
'''
|
||||
|
||||
82
爬虫-01/笔趣阁.py
82
爬虫-01/笔趣阁.py
@@ -1,82 +0,0 @@
|
||||
import os.path
|
||||
|
||||
import requests
|
||||
from lxml import etree
|
||||
from fake_useragent import UserAgent
|
||||
## 写爬虫程序
|
||||
class SpiderBiQuGe(object):
|
||||
def __init__(self):
|
||||
self.headers = {
|
||||
'User-Agent':UserAgent().random
|
||||
}
|
||||
self.novel_name=''
|
||||
self.area = "https://www.bqgie.cc" ## 根目录
|
||||
self.BASE_DIR = os.path.dirname(__file__)
|
||||
## 源码文件 每一页的数据
|
||||
self.SOURCE_DIR = os.path.join(self.BASE_DIR,"novel",'source')
|
||||
## 文档目录 解析后的数据
|
||||
self.NOVEL_DIR = os.path.join(self.BASE_DIR,"novel",'novel')
|
||||
## 写入和读取数据文件
|
||||
def handler(self,file_name,novel_name,data="",mode='a',encoding='utf-8',tag="source"):
|
||||
if tag == 'source':
|
||||
file_dir = os.path.join(self.SOURCE_DIR,novel_name)
|
||||
file_last = "html"
|
||||
elif tag == 'novel':
|
||||
file_dir = os.path.join(self.NOVEL_DIR,novel_name)
|
||||
file_last = "text"
|
||||
else:
|
||||
file_dir = self.SOURCE_DIR
|
||||
file_last = ""
|
||||
os.makedirs(file_dir,exist_ok=True)
|
||||
file_path = os.path.join(file_dir,f"{file_name}.{file_last}")
|
||||
if not os.path.exists(file_path):
|
||||
with open(file=file_path,mode=mode,encoding=encoding) as fp:
|
||||
if mode == 'a' or mode == 'w' :
|
||||
fp.write(data)
|
||||
print(f"当前文件: ",f"{file_name}.{file_last}","写入成功")
|
||||
|
||||
else:
|
||||
with open(file=file_path, mode=mode, encoding=encoding) as fp:
|
||||
if mode == 'a' or mode == 'w':
|
||||
fp.close()
|
||||
print(f"当前文件: ", f"{file_name}.{file_last}", "已存在")
|
||||
else:
|
||||
data = fp.read()
|
||||
return data
|
||||
def create_tree(self,target_url):
|
||||
response = requests.get(url=target_url,headers=self.headers)
|
||||
# 获取响应源码
|
||||
page_text = response.text
|
||||
return page_text,etree.HTML(page_text)
|
||||
|
||||
## 抓取主页
|
||||
def spier_index(self):
|
||||
target_url = f'{self.area}/book/32286/'
|
||||
page_text,tree = self.create_tree(target_url=target_url)
|
||||
novel_name = tree.xpath('//div[@class="info"]/h1/text()')[0].strip()
|
||||
# /html/body/div[5]/div[2]/div[2]
|
||||
novel_info = tree.xpath('//div[@class="info"]/div[2]/span')
|
||||
self.novel_name = novel_name
|
||||
author_name = novel_info[0].xpath("./text()")[0]
|
||||
is_close = novel_info[1].xpath("./text()")[0]
|
||||
update_time = novel_info[2].xpath("./text()")[0]
|
||||
last_update = f'最新:{novel_info[-1].xpath("./a/text()")[0]}({self.area + novel_info[-1].xpath("./a/@href")[0]})'
|
||||
data = f'''
|
||||
{novel_name}
|
||||
{author_name}
|
||||
{is_close}
|
||||
{update_time}
|
||||
{last_update}
|
||||
'''
|
||||
#print(novel_info)
|
||||
self.handler(file_name='index',novel_name=novel_name,data=page_text)
|
||||
self.handler(file_name=novel_name,novel_name=novel_name,data=data,tag='novel' )
|
||||
def spider_capter(self):
|
||||
index_page_text = self.handler(file_name='index',novel_name=self.novel_name,mode='r')
|
||||
print(index_page_text)
|
||||
def main(self):
|
||||
self.spier_index()
|
||||
self.spider_capter()
|
||||
if __name__ == '__main__':
|
||||
spider = SpiderBiQuGe()
|
||||
spider.main()
|
||||
Reference in New Issue
Block a user