import requests,re,chardet,pymysql
from piaot import *
def shoye():
url=''
headers=
req=requests.get(url,headers=headers)
req.encoding= 'gb2312'
html=req.text
# 正則
zz='(.*?)
' str_1 = re.compile(zz)
html = str_1.findall(html)
# 取出我們想要的資料
html=html[:11]
lie_list=
for i in html:
if '' in i[0]:
else:
a=''+i[0]
return lie_list
def zl(url):
html=''
try:
req=yc(url)
c=chardet.detect(req)
html=req.decode(c['encoding'])
except:
zl(url)
# 正則
zz='(.*?)'
lian_jie=re.compile(zz)
html=lian_jie.findall(html)
if html == :
zl(url)
else:
for i in html:
z_url=''+i[0]
sql_url=pq_tp(z_url)
print('儲存中.....')
dy_name=str(i[1])
sql_url=str(sql_url)
# msql儲存
sql_z = "insert into dy(uname,lianjie) values({},'{}');".format(dy_name,sql_url)
# print(sql_z)
sql(sql_z)
return html
def pq_tp(url):
try:
print('爬取資料中..........')
req=yc(url)
x=chardet.detect(req)
html=req.decode(x['encoding'])
# 正則
zz=''
dy_url=re.compile(zz)
html=dy_url.findall(html)
if html == :
pq_tp(url)
else:
print('爬取成功!',html[0])
return html[0]
except:
pq_tp(url)
def sql(sql_z):
# 開啟資料庫連線
db = pymysql.connect("192.168.43.128", "root", "123456", "dianying", charset='utf8')
# 使用 cursor() 方法建立乙個游標物件 cursor
cursor = db.cursor()
# 使用 execute() 方法執行 sql 查詢
cursor.execute("")
# 使用 fetchone() 方法獲取單條資料.
data = cursor.fetchone(sql_z)
print("database version : %s " % data)
# 關閉資料庫連線
db.close()
ifname== 『main『:
shoye()
Scrapy爬蟲爬取電影天堂
目標 建立專案 scrapy startproject 爬蟲專案檔案的名字 生成 crawlspider 命令 scrapy genspider t crawl 爬蟲名字 爬蟲網域名稱 終端執行 scrapy crawl 爬蟲的名字 python操作mysql資料庫操作 爬蟲檔案 coding ut...
爬取電影天堂
分析每頁的url,可以得到規律是 第t頁的url為 於是可以先分析第一頁,然後對頁數進迴圈,就可得到所有最新電影的詳細資訊。from lxml import etree headers defget movie url url resp requests.get url,headers header...
Python爬取電影天堂資源
from urllib import request,parse from lxml import etree import requests,re url1 req1 request.request url1 response1 request.urlopen req1 html1 respons...