<
>

Python之requests+xpath爬取猫眼电影并写入数据库(图文教程)

2020-06-28 11:38:30 来源:易采站长站 作者:易采站长站整理


imgs, urls = self.get_urls(main_url)
if len(imgs) == 0:
print("遇到验证码, 程序停止")
print("再次尝试...")
imgs, urls = self.get_urls(main_url)
for img, url in zip(imgs, urls):
img = img.split('@')[0] url = 'https://maoyan.com' + url
tag = self.save_data(img, url)
while not tag:
tag = True
print("再次尝试...")
tag = self.save_data(img, url)
self.connect.close_conn()

if __name__ == "__main__":
# conn1 = mysqlConn()
# conn1.get_conn("movies")
# sql = """create table maoyan(
# m_id int primary key auto_increment,
# m_name varchar(30) not null,
# m_type varchar(20) null,
# m_src varchar(100) not null,
# m_link varchar(100) not NULL,
# m_intro text null,
# m_actors text null
# )default charset = utf8"""
# conn1.exe_sql(sql)
# conn1.close_conn()
spider = maoYan_spider()
spider.run()

在这里插入图片描述
这是我连接数据库文件和爬取文件的位置,大概在同一个目录下就行了,你可以写在和同一个抓电影同一个页面下然后’from .mysql_api import mysqlConn’

说几个比较容易掉坑的地方

在这里插入图片描述
这一段代码是建表的,前提是你要先自己在mysql里建好movies数据库
然后把这一段解除注释,把前面两行代码先注释了,然后运行,运行之后会有一个字符集编码警告,这个不打紧,运行结束你就可以注释掉这一段代码,然后将下面两行解除注释,开始爬虫,当然你也可以在数据库里先建好表,我是因为之前只用py写过增删改查,就想试试建表,不要问我为什么m_actors给了text类型,原本给了varchar(200),后来提示不够写,改成400还不够,我就去看了看是谁演员这么多—复联

在这里插入图片描述
这个sql语句,要注意占位符两边有双引号(一定要是双引号,因为在数据库里单引号有特殊意义,我查的文章里这么说的,具体是啥目前还不懂),我原先里面用了单引号,外面包裹sql的用的双引号,导致有好几个页面会引发’pymysql.err.ProgrammingError’, 我一直找不到问题所在,就只能捕获异常了,后来改了单引号就没这毛病了.

暂时禁止评论

微信扫一扫

易采站长站微信账号