介绍
这篇文章主要介绍了如何使用Python实现的文轩网爬虫,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
具体如下:
=utf8编码 import pymysql import 时间 import 系统 import 请求 import 操作系统 #捕获错误 import 回溯 import 类型 #将html实体化 cgi import import 警告 重载(系统) sys.setdefaultencoding (& # 39; utf - 8 # 39;) 得到pyquery import  pyquery as  pq 得到lxml import  etree sys.setdefaultencoding (& # 39; utf - 8 # 39;) #屏蔽错误 warnings.filterwarnings (“ignore") #下载图片 def dowloadPic (imageUrl filePath): 时间=r requests.get (imageUrl超时=60) 状态=r.status_code if status ==, 404: return 404 with 开放(filePath,“wb"), as 代码: code.write (r.content) #根据详情页地址抓取数据并插入数据库 def getData (final_url): file_open=开放(& # 39;。/url.txt& # 39;,, & # 39; w # 39;) file_open.write (final_url) file_open.close () #链接数据库 时间=conn pymysql.connect(主机=& # 39;127.0.0.1 # 39;,,=3306港,用户=& # 39;根# 39;,,passwd=& # 39;根# 39;,,db=& # 39; bookinfo # 39;,, charset=& # 39; use utf8 # 39;) #设置浮标 时间=cursor conn.cursor(光标=pymysql.cursors.DictCursor) #解析详情页面 试一试: detail_url=final_url c=pq (detail_url) 头=c (& # 39; html # 39;) .attr (& # 39; xmlns # 39;) 呃=& # 39;http://www.w3.org/1999/xhtml& # 39; err1=& # 39; http://www.winxuan.com/cms/2016db_sh& # 39; if head ==, err 或是head ==, err1: return & # 39;回# 39; 例外,except e: return & # 39;回# 39; 我=0 while i<12: text 才能=,c(& # 39; #页# 39;);(& # 39;.cont& # 39;);(& # 39;李# 39;).eq (i)。text () 文本才能=text.replace (& # 39;& # 39;& # 39;& # 39;) if 才能;& # 39;小姐:S B n # 39;,拷贝文本: ,,,isbn=text.replace(& # 39;小姐:S B N: & # 39;, & # 39; & # 39;) ,,,isbn=isbn.strip () ,,,选?& # 39;select count(*),得到bi_book where isbn =& # 39; + isbn ,,,cursor.execute(选取) ,,,结果=cursor.fetchone () ,,,结果数=[& # 39;count (*) & # 39;】 ,,,if count !=, 0,: ,,,,,print u # 39;已存在& # 39; ,,,,,return & # 39;回# 39; if 才能;& # 39;isbn: & # 39;, text 拷贝: ,,,isbn=text.replace (& # 39; isbn: & # 39;, & # 39; & # 39;) ,,,isbn=isbn.strip () ,,,选?& # 39;select count(*),得到bi_book where isbn =& # 39; + isbn ,,,cursor.execute(选取) ,,,结果=cursor.fetchone () ,,,结果数=[& # 39;count (*) & # 39;】 ,,,if count !=, 0,: ,,,,,print u # 39;已存在& # 39; ,,,,,return & # 39;回# 39; if 才能;& # 39;& # 39;,text 拷贝: ,,,author =, text.replace (& # 39; & # 39; & # 39; & # 39;) if & # 39;才能出版社:& # 39;,text 拷贝: ,,,press_name=text.replace(& # 39;出版社:& # 39;,& # 39;& # 39;) if 才能;& # 39;版次:& # 39;,text 拷贝: ,,,版=text.replace(& # 39;版次:& # 39;,& # 39;& # 39;) if & # 39;才能印次:& # 39;,text 拷贝: ,,,印象=text.replace(& # 39;印次:& # 39;,& # 39;& # 39;) if & # 39;才能装帧:& # 39;,text 拷贝: ,,,包装=text.replace(& # 39;装帧:& # 39;,& # 39;& # 39;) if & # 39;才能开本:& # 39;,拷贝文本: ,,,的大?text.replace(& # 39;开本:& # 39;,& # 39;& # 39;) if & # 39;才能出版时间:& # 39;,拷贝文本: ,,,press_time=text.replace(& # 39;出版时间:& # 39;,& # 39;& # 39;) ,,,press_time=press_time.strip () ,,,if press_time ==, & # 39;无& # 39;: ,,,,,press_time=& # 39; 1970 - 01 - 01 & # 39; if & # 39;才能印刷时间:& # 39;,拷贝文本: ,,,print_time=text.replace(& # 39;印刷时间:& # 39;,& # 39;& # 39;) ,,,print_time=print_time.strip () ,,,if print_time==, & # 39;无& # 39;: ,,,,,print_time=& # 39; 1970 - 01 - 01 & # 39; if 才能;& # 39;页数:& # 39;,拷贝文本: ,,,page_num=text.replace(& # 39;页数:& # 39;,& # 39;& # 39;) if 才能;& # 39;字数:& # 39;,拷贝文本: ,,,word_num=text.replace(& # 39;字数:& # 39;,& # 39;& # 39;) 我才能+=1 if (& # 39;作者# 39;,拷贝当地人(). keys()),==,错误的: 时间=author 才能;& # 39;& # 39; if (& # 39; press_time& # 39;,拷贝当地人(). keys()),==,错误的: 时间=press_time 才能;& # 39;1970 - 01 - 01 & # 39; if (& # 39; print_time& # 39;,拷贝当地人(). keys()),==,错误的: null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null如何使用Python实现的文轩网爬虫