首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

求助, Python 爬虫数据储存 MySQL 问题

  •  
  •   luboyan · 5 天前用 Android 发布 · 655 次点击

    疑问: 用 Python 抓取网页数据时,每一个网页对应返回的数据为 json 格式,但是需要的三组数据分别数据两个 key 下,既 A,B 在字段 content 下,C 在字段 url 下,如何循环抓取 A,B,C,并插入到 MySQL ? 我的做法: 1.构造要抓取的网页,用 for 循环从列表中随机选取一个值,和主 url 相加构造; 2.爬取各个构造后的网址,获取到 json,用 for 循环取出 url 字段下的 C 值放入列表 L 中,用 re 取出 content 字段下的 A,B 值,但是取出后 A,B,C 三个值(他们是一一对应的关系)并没有在一起,我应该如何构造让他们在一起,我用 i=0 yield 返回{'title':result[0],'img':[1],'url':L[i]} i=i+1 然后调用 pymysql 函数插入到 MySQL 中。 问题: 按上述做法不可以正确插入到 MySQL 中,上网查询后,准备采用 json 或者 dict 插入,可是应该如何构造出 json 或者 dict. 不知道我的表述有没有把问题说清楚,自学 Python 中,都不知道从那个方面去考虑问题,迭代我觉得需要,只是看不懂怎么弄。

    4 回复  |  直到 2018-07-11 20:05:58 +08:00
        1
    hubqin   5 天前   ♥ 1
    先看官网 https://pymysql.readthedocs.io/en/latest/user/examples.html 给出的例子:
    ```
    # Create a new record
    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
    ```
    先拼接出一个 sql,再将各字段的值按顺序组成一个元组(tuple),传入到 execute 函数中。
    这里是我封装的 pymysql 的操作,可供参考: https://github.com/HubQin/sinaCrawlerV/blob/master/database.py
    思路是:将数据组成字典,比如,kw = {}, kw['a']=1,kw['b']=2,...最后以**kw 的形式传入函数, 传入的数据按上面的方式拼装出 sql 和各字段值的元组,最后传入 execute 函数执行插入操作。
        2
    Leiothrix   5 天前
    如果是 Scrapy,请使用 meta。
        3
    luboyan   5 天前
    @hubqin 谢谢你,一直忙于工作,等有时间好好研究下你说的方法,十分感谢
        4
    luboyan   5 天前
    @Leiothrix 同时也谢谢你,虽然还没用 Scrapy,以后有机会学习下
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2032 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 14:22 · PVG 22:22 · LAX 07:22 · JFK 10:22
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1