当我运行代码时,它运行没有错误,但是没有创建csv文件,为什么?

时间:2019-05-14 08:56:49

标签: python

我找到了一个教程,我正在尝试运行此脚本,之前我没有使用python。 tutorial

我已经看到通过logging.debug运行的内容,检查它是否连接到Google并尝试使用其他脚本创建csv文件

from urllib.parse import urlencode, urlparse, parse_qs

from lxml.html import fromstring
from requests import get
import csv
def scrape_run():
    with open('/Users/Work/Desktop/searches.txt') as searches:
        for search in searches:
           userQuery = search
           raw = get("https://www.google.com/search?q=" + userQuery).text
           page = fromstring(raw)
           links = page.cssselect('.r a')

           csvfile = '/Users/Work/Desktop/data.csv'
           for row in links:
               raw_url = row.get('href')
               title = row.text_content()
               if raw_url.startswith("/url?"):
                   url = parse_qs(urlparse(raw_url).query)['q']
                   csvRow = [userQuery, url[0], title]
                   with open(csvfile, 'a') as data:
                       writer = csv.writer(data)
                       writer.writerow(csvRow)
                       print(links)

scrape_run()

此脚本的TL; DR具有三个基本功能:

  • 找到并打开您的searchs.txt文件。
  • 使用这些关键字并在Google的第一页中搜索每个关键字 结果。
  • 创建一个新的CSV文件并打印结果(关键字,URL和 页面标题)。

2 个答案:

答案 0 :(得分:0)

假设links变量已满并且包含数据-请验证。 如果为空-测试您正在进行的api调用本身,也许返回的结果与您预期的不同。

除此之外-我认为您只需要调整一点文件处理即可。

https://www.guru99.com/reading-and-writing-files-in-python.html 在这里,您可以找到有关python中文件处理的一些准则。 以我的观点,您需要确保先创建文件。 从能够创建文件的脚本开始。 之后,增强脚本以能够写入并附加到文件。 从那以后,我认为您很好,可以继续执行脚本。 除此之外,我认为您宁愿只打开文件一次而不是每个循环,这可能意味着执行时间要快得多。

让我知道是否不清楚。

答案 1 :(得分:0)

已解决 谷歌添加验证码我经常使用 我使用移动互联网时的工作