Commit Graph
2095 Commits
Author SHA1 Message Date
Noah Levitt 7c76dfba7c Merge branch 'warc-writer-chain' into ait-qa
* warc-writer-chain:
  use org.json like everybody else
2019-11-15 16:14:51 -08:00
Noah Levitt 6e7bc54c9d use org.json like everybody else 2019-11-15 16:14:17 -08:00
Noah Levitt 4524f24dc7 Merge branch 'warc-writer-chain' into ait-qa
* warc-writer-chain:
  extract watch page links from youtube playlists
  fix non-playlist case (oops!)
  be consistent and null-safe with concurrentTo
2019-11-15 15:54:31 -08:00
Noah Levitt c4b08166f2 extract watch page links from youtube playlists
and equivalent for other sites. Usually we find these links through
normal link extraction, but we have the info here, so we may as well use
it to make sure.
2019-11-15 15:52:36 -08:00
Noah Levitt 4983e65929 fix non-playlist case (oops!) 2019-11-15 15:42:59 -08:00
Noah Levitt 1b95453748 be consistent and null-safe with concurrentTo 2019-10-15 10:50:26 -07:00
Noah Levitt 5a813197c2 Merge branch 'warc-writer-chain' into ait-qa
* warc-writer-chain:
  write youtube-dl json to the warc
  rename method so as not to conflict with Processor
  make WARCRecordBuilder an interface
  revisits only for http and ftp
  accept any BaseWARCWriterProcessor
  use WARCWriterChainProcessor for these tests
  default chain in code
  oops, handle https too
  same test as for WARCWriterProcessor
  configurable warc writer chain
2019-06-12 17:42:20 -07:00
Noah Levitt bff33e00e6 write youtube-dl json to the warc
ExtractorYoutubeDL implements WARCRecordBuilder
2019-06-12 17:40:57 -07:00
Noah Levitt 5177b2b6da rename method so as not to conflict with Processor 2019-06-12 15:17:33 -07:00
Noah Levitt 9ddd281ef2 make WARCRecordBuilder an interface
this way other classes that extend other classes can also implement
WARCRecordBuilder
2019-06-12 15:04:39 -07:00
Noah Levitt 9e67a8dab4 revisits only for http and ftp
fixes NPE trying to write a dns revisit record
2019-06-12 14:58:11 -07:00
Noah Levitt e928c218e7 accept any BaseWARCWriterProcessor 2019-06-12 12:57:27 -07:00
Noah Levitt 7c31b0752a use WARCWriterChainProcessor for these tests 2019-06-12 12:56:49 -07:00
Noah Levitt 8c4c443a88 default chain in code 2019-06-12 12:54:00 -07:00
Noah Levitt ece435874e oops, handle https too 2019-06-12 12:53:27 -07:00
Noah Levitt 870d84740a same test as for WARCWriterProcessor
doesn't test that much though
2019-06-12 11:04:02 -07:00
Noah Levitt 9435f761a6 configurable warc writer chain
exercised only lightly at this point
2019-06-11 13:45:51 -07:00
Noah Levitt 26bfc5dd34 Merge branch 'ydl' into ait-qa
* ydl:
  use --dump-single-json
  cap number of videos per page to 1000
2019-06-07 15:15:50 -07:00
Noah Levitt 4d6314bc50 use --dump-single-json
seems better/cleaner and we will want the single json form if/when we
start writing it to warc
2019-06-07 15:14:32 -07:00
Noah Levitt 25848e9821 cap number of videos per page to 1000 2019-06-07 14:24:48 -07:00
Noah Levitt 40959e7f97 Merge branch 'ydl' into ait-qa
* ydl:
  ugh, get it right
2019-05-07 11:03:40 -07:00
Noah Levitt 99eebb8101 ugh, get it right
reading stderr in a separate thread doesn't help if you wait for that
thread to finish before reading stdout
2019-05-07 11:01:34 -07:00
Noah Levitt 49cb6c2b2b Merge branch 'ydl' into ait-qa
* ydl:
  also annotate and log containing pages
2019-05-06 15:36:01 -07:00
Noah Levitt 75b33663f9 also annotate and log containing pages 2019-05-06 15:35:47 -07:00
Noah Levitt aec1443e56 Merge branch 'ydl' into ait-qa
* ydl:
  whoops, better spawn the thread first
  read stderr and stdout in separate threads...
  do not drop any `CrawlURI.data` between processing
  nothing private ever
  quiet org.mortbay.log (jetty?) logging
  making everything work
  ExtractorYoutubeDL
  Update changelog for 3.4.0-20190418
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release 3.4.0-20190418
  set of frontier management changes to support CrawlHQ module
  Remove suffix from warcWriter since it is no longer used.
  Add CHANGELOG; address #233.
2019-05-02 18:27:36 -07:00
Noah Levitt 7c66da7be7 whoops, better spawn the thread first 2019-05-02 15:48:46 -07:00
Noah Levitt b4aa3c9511 read stderr and stdout in separate threads...
... to avoid hanging

see https://github.com/internetarchive/heritrix3/pull/257/files#r279990349
thanks Alex!
2019-05-02 15:46:14 -07:00
Noah Levitt 37fb6f6b7b do not drop any CrawlURI.data between processing
Without this change (or other measures), we sometimes get nulls in the
ExtractorYoutubeDL log for containing page information. We'll run this
on QA for a while and see if it causes any problems.

nlevitt [1:59 PM]
https://github.com/internetarchive/heritrix3/blob/master/modules/src/main/java/org/archive/modules/CrawlURI.java#L878
drops some stuff from `CrawlURI.data` after processing a uri, even if it needs to be processed again
there is a list of keys that shouldn’t be dropped (`persistentKeys`), but it is final and private
so if you’re writing your own heritrix module and you want to keep some information in CrawlURI.data, it usually works, except when the url is processed more than once (like when it needs a prereq like robots.txt the first time)
in practice it seems that most data is persisted, that is, most commonly used keys are in `persistentKeys`
in a crawl with pretty standard configuration i’m mostly seeing `prerequisite-uri` dropped and occasionally `fetch-completed-time` and `fetch-began-time` being dropped
i’m highly skeptical of the value of dropping keys at all and i’m tempted to get rid of this entirely, make all the keys persistent in other words
soliciting feedback (edited)

anjackson [2:39 PM]
My immediate reaction is HARD AGREE. It looks like Really Old Code though (https://github.com/internetarchive/heritrix3/blame/7d3eff5269142c77fa4b988396153f4c29d16caa/modules/src/main/java/org/archive/modules/CrawlURI.java#L878)
so the reasons for doing so may have been lost in time.
Hm, looking at usage: https://github.com/internetarchive/heritrix3/blob/a60b2ef3875ad47f57b0c6b3c0b19f86c40a12f7/engine/src/main/java/org/archive/crawler/frontier/WorkQueueFrontier.java#L954-L955
engine/src/main/java/org/archive/crawler/frontier/WorkQueueFrontier.java:954-955

                curi.processingCleanup(); // lose state that shouldn't burden
                                          // retry

I guess there's a concern that there may be state in there that is set during a fetch and may cause problems if the same CrawlURI is deferred?
But I'm not aware of anything in the fetch chain that behaves like that.

nlevitt [3:02 PM]
oh, i missed `CrawlURI.addDataPersistentMember(String)` et al. still...
2019-04-30 16:20:53 -07:00
Noah Levitt b7de2bd2ae nothing private ever 2019-04-30 16:20:35 -07:00
Noah Levitt 1bd8b713c6 quiet org.mortbay.log (jetty?) logging
There is already a clause for this in logging.properties, but it's using
log4j. It was dumping stack traces every time the client was dubious of
heritrix's self-signed certificate.

Why do we have so many identical log4j.xml's? 🤷‍♂️
2019-04-30 16:17:35 -07:00
Noah Levitt 21cfd4b73d making everything work 2019-04-30 16:16:25 -07:00
Noah Levitt 79a0d34adf ExtractorYoutubeDL 2019-04-29 15:29:16 -07:00
Andrew Jackson 7d3eff5269 Update changelog for 3.4.0-20190418 2019-04-18 16:17:50 +01:00
Andrew Jackson b3961a2f96 [maven-release-plugin] prepare for next development iteration 2019-04-18 15:36:28 +01:00
Andrew Jackson c7c6141ee1 [maven-release-plugin] prepare release 3.4.0-20190418 3.4.0-20190418 2019-04-18 15:36:20 +01:00
Andy Jackson 8492306241 Merge pull request #238 from ruebot/issue-233
Add CHANGELOG; address #233.
2019-04-17 22:50:01 +01:00
Adam Miller f1683264d5 Merge pull request #251 from nlevitt/trough-dedup
fix some trough dedup bugs
2019-04-15 14:40:13 -07:00
Noah Levitt a60b2ef387 Merge pull request #249 from ruebot/remove-suffix-crawler-bean
Remove suffix from warcWriter since it is no longer used.
2019-04-10 11:15:37 -07:00
Noah Levitt a20b649576 Merge pull request #253 from dvanduzer/master
set of frontier management changes to support CrawlHQ module
2019-04-10 11:15:08 -07:00
Noah Levitt ec4ec2593a Merge branch 'trough-dedup' into ait-qa
* trough-dedup:
  give me some space
2019-04-10 11:10:08 -07:00
Noah Levitt f1dae275b4 give me some space 2019-04-10 11:09:57 -07:00
Noah Levitt 0424dfb51c Merge branch 'trough-dedup' into ait-qa
* trough-dedup:
  close the rethinkdb connection!
  replace System.err.println with logger.info
  fix some trough dedup bugs
2019-04-10 10:50:08 -07:00
Noah Levitt 303ffb486e close the rethinkdb connection! 2019-04-10 10:43:22 -07:00
Noah Levitt fc16e4ec3e Merge branch 'master' into trough-dedup
* master:
  replace System.err.println with logger.info
  Revert "Upgrade httpclient to 4.5.7 and handle cookies more compliantly"
  Removing outdated test.
  Disable questionalbe test.
  Avoid deprecated flag.
  Supply an iterator, for #245
  Updated POM to use latest version.
  Update README.md
  Handle missing closing paren in srcset descriptor
  Teach jericho extractor srcset
  Don't run srcset test against jericho, it doesn't handle it
  Handle commas more compliantly when parsing srcset
  Ensure we start parsing full lines, for #239.
2019-04-10 10:16:45 -07:00
David Van Duzer 6c6e460c8d set of frontier management changes to support CrawlHQ module
These changes come from a private fork of H3, originally made by Kenji
Nagahashi, to create org.archive.crawler.frontier.PullingBdbFrontier,
which we intend to merge into 'contrib' of the official version in the
near future.
2019-04-08 17:15:24 -06:00
Noah Levitt 2c6ab5a44a replace System.err.println with logger.info 2019-04-04 17:06:01 -07:00
Noah Levitt de63ed04b1 Merge branch 'master' into ait-qa
* master:
  Revert "Upgrade httpclient to 4.5.7 and handle cookies more compliantly"
  Removing outdated test.
  Disable questionalbe test.
  Avoid deprecated flag.
  Supply an iterator, for #245
  Updated POM to use latest version.
2019-04-01 16:16:21 -07:00
Noah Levitt 0aac882eb4 Merge branch 'master' into ait-qa
* master:
  use constant from rethinkdb lib for default port
  Update README.md
  Handle missing closing paren in srcset descriptor
  Teach jericho extractor srcset
  Don't run srcset test against jericho, it doesn't handle it
  Handle commas more compliantly when parsing srcset
  Ensure we start parsing full lines, for #239.
2019-04-01 16:16:03 -07:00
Noah Levitt 5f5d4615c2 fix some trough dedup bugs
especially this:

-    writeUrlCache.remove("segmentId");
+    writeUrlCache.remove(segmentId);

and some improvements and tweaks
2019-04-01 16:14:22 -07:00
nruest 5ee7528369 Remove suffix from warcWriter since it is no longer used. 2019-03-29 12:40:51 -04:00