我有个需求就是抓取一些简单的书籍信息存储到mysql数据库,例如,封面图片,书名,类型,作者,简历,出版社,语种。
我比较之后,决定在亚马逊来实现我的需求。
我分析网站后发现,亚马逊有个高级搜索的功能,我就通过该搜索结果来获取书籍的详情URL。
由于亚马逊的高级搜索是用get方法的,所以通过分析,搜索结果的URL,可得到node参数是代表书籍类型的。field-binding_browse-bin是代表书籍装饰。
所以我固定了书籍装饰为平装,而书籍的类型,只能每次运行的时候,爬取一种类型的书籍难过
之后就是根据书籍详情页面利用正则表达式来匹配需要的信息了。
以下源代码,命名不是很规范。。。
import requests
import sys
import re
import pymysql
class product:
type="历史"
name=""
author=""
desciption=""
pic1=""
languages=""
press=""
def getProUrl():
urlList = []
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"}
session = requests.Session()
furl="https://www.amazon.cn/gp/search/ref=sr_adv_b/?search-alias=stripbooks&field-binding_browse-bin=2038564051&sort=relevancerank&page="
for i in range(1,7):
html=""
print(furl+str(i))
html = session.